Crate bincode [−] [src]
bincode
is a crate for encoding and decoding using a tiny binary
serialization strategy.
There are simple functions for encoding to Vec<u8>
and decoding from
&[u8]
, but the meat of the library is the encode_into
and decode_from
functions which respectively allow encoding into a std::io::Writer
and decoding from a std::io::Buffer
.
Modules
Until "default type parameters" lands, we have an extra module called endian_choice
that duplicates all of the core bincode functionality but with the option to choose
which endianness the integers are encoded using.
The default endianness is little.
Using Basic Functions
extern crate bincode; use bincode::{serialize, deserialize, Bounded}; fn main() { // The object that we will serialize. let target = Some("hello world".to_string()); // The maximum size of the encoded message. let limit = Bounded(20); let encoded: Vec<u8> = serialize(&target, limit).unwrap(); let decoded: Option<String> = deserialize(&encoded[..]).unwrap(); assert_eq!(target, decoded); }
Reexports
pub use internal::ErrorKind; |
pub use internal::Error; |
pub use internal::Result; |
pub use internal::serialized_size; |
pub use internal::serialized_size_bounded; |
Modules
internal |
A collection of serialization and deserialization functions
that use the |
read_types |
The types that the deserializer uses for optimizations |
Structs
Bounded |
A SizeLimit that restricts serialized or deserialized messages from exceeding a certain byte length. |
Infinite |
A SizeLimit without a limit! Use this if you don't care about the size of encoded or decoded messages. |
Traits
SizeLimit |
A limit on the amount of bytes that can be read or written. |
Functions
deserialize |
Deserializes a slice of bytes into an object. |
deserialize_from |
Deserializes an object directly from a |
serialize |
Serializes a serializable object into a |
serialize_into |
Serializes an object directly into a |
Type Definitions
Deserializer |
A Deserializer that uses LittleEndian byteorder |
Serializer |
A Serializer that uses LittleEndian byteorder |